1. Technical Field
The present invention relates to a method for performing configuration tasks in general, and in particular to a method for simplifying configuration tasks prior to and including memory configuration within a processor-based system. Still more particularly, the preferred embodiment of the present invention relates to a method for configuring RAMBUS(copyright) memories within a computer system.
2. Description of the Prior Art
A firmware commonly known as the Basic Input/Output System (BIOS) is responsible for performing various configuration and initialization tasks during bootup of a computer system. Because of the increasingly complex tasks BIOS must perform in the resource-limited environment prior to memory configuration, the BIOS programmer must select from a variety of techniques to overcome the resource limitation problem. For example, a BIOS programmer may map register usage; a BIOS programmer may opt for a linear programming method that utilizes few subroutines; or a BIOS programmer may opt to retrieve and/or recompute values many times to avoid storing configuration values. However, each of the above-mentioned techniques has its drawbacks. For example, intensive register management can be prone to errors; linear programming methods negate the benefits of structured programming methods and make BIOS larger and more difficult to maintain; fetching data repeatedly increases the length of time required to perform a configuration task.
Another technique, which is specific to a type of memory known as RAMBUS(copyright) memory, is to simply ignore the problem and to require all the 3 memories to be identical. This will make the memory configuration task much easier for the BIOS programmer; however, it may present problems to a person who wants to update those RAMBUS(copyright) memories to a different configuration.
Consequently, it is desirable to have a better solution to the problems presented by the rapidly growing complexity of configuration tasks that must be performed prior to memory configuration, and the increasing complexity of the memory configuration task itself.
In accordance with a preferred embodiment of the present invention, a memory location is first reserved by Basic Input/Output System (BIOS) firmware for each individual BIOS task. A target routine is then executed using the reserved memory location by the BIOS firmware. The target routine is designed to perform a specific BIOS task. Finally, the reserved memory location is released by the BIOS firmware, after the target routine has been successfully completed.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.